package IC.Tables.Types;

/**
 * Abstract Type base class
 */
public abstract class Type {
	private String name;
	private int typeID;
	private static int counter=0;
	
	public Type(String name){
		this.name = name;
		this.typeID = ++counter;
	}
	
	/**
	 * getters
	 */
	public String getName(){
		return this.name;
	}
	
	public int getTypeID(){
		return this.typeID;
	}
	
	public String toString(){
		return this.name;
	}
	
	public boolean subtypeOf(Type t){
		return ((t==this)?true:false);
	} 
}
